package com.syh.jn.scm.service.api.downstream.logistics;

import com.syh.jn.scm.dto.downstream.logistics.DownLogisticsBillItemVo;
import com.syh.jn.scm.dto.downstream.logistics.DownLogisticsBillMto;
import com.syh.jn.scm.dto.downstream.logistics.DownLogisticsBillSto;
import com.syh.jn.scm.dto.downstream.logistics.DownLogisticsBillVo;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

/**
 * Created by soci.song on 2018/11/2.
 */
public interface DownLogisticsBillService extends BaseService<DownLogisticsBillSto, DownLogisticsBillMto, DownLogisticsBillVo, Long> {

    /**
     * 根据物流单id获取订单项
     */
    List<DownLogisticsBillItemVo> getItemsByLogisticsBillId(Long id);
    /**
     * 根据订单号获取物流单列表
     * @param id
     * @param orderType
     * @return
     */
    List<DownLogisticsBillVo> getLogisticsBillVosByOrderId(Long id, Short orderType);
    /**
     * 物流单确认发货
     * @param id
     */
    void delivery(Long id);
    /**
     * 物流单据确认收货
     * @param id
     */
    void collect(Long id);
    /**
     * 取消物流单
     * @param id
     */
    void cancel(Long id);
    /**
     * 取消签收
     * @param id
     */
    void cancelReceipt(Long id);
    /**
     * 删除物流单
     * @param id
     */
    void remove(Long id);
}
